node {
  name: "variable"
  op: "VarHandleOp"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
  attr {
    key: "shape"
    value {
      shape {
      }
    }
  }
}
node {
  name: "const"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_FLOAT
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_FLOAT
      }
    }
  }
}
node {
  name: "__inference_middle_fn_90"
  op: "__inference_middle_fn_90"
  input: "variable"
  input: "const"
}
library {
  function {
    signature {
      name: "__inference_middle_fn_90"
      input_arg {
        name: "a"
        type: DT_RESOURCE
      }
      input_arg {
        name: "b"
        type: DT_FLOAT
      }
      output_arg {
        name: "identity"
        type: DT_FLOAT
      }
      is_stateful: true
      control_output: "Mul/ReadVariableOp"
      control_output: "StatefulPartitionedCall"
    }
    node_def {
      name: "StatefulPartitionedCall"
      op: "StatefulPartitionedCall"
      input: "a"
      input: "b"
      attr {
        key: "Tin"
        value {
          list {
            type: DT_RESOURCE
            type: DT_FLOAT
          }
        }
      }
      attr {
        key: "Tout"
        value {
          list {
            type: DT_FLOAT
          }
        }
      }
      attr {
        key: "_collective_manager_ids"
        value {
          list {
          }
        }
      }
      attr {
        key: "_read_only_resource_inputs"
        value {
          list {
            i: 0
          }
        }
      }
      attr {
        key: "config"
        value {
          s: ""
        }
      }
      attr {
        key: "config_proto"
        value {
          s: "\202\001\0008\0012\002J\000\n\007\n\003CPU\020\004\n\007\n\003GPU\020\000"
        }
      }
      attr {
        key: "executor_type"
        value {
          s: ""
        }
      }
      attr {
        key: "f"
        value {
          func {
            name: "__inference_inner_fn_85"
          }
        }
      }
      experimental_debug_info {
        original_node_names: "StatefulPartitionedCall"
      }
    }
    node_def {
      name: "Mul/ReadVariableOp"
      op: "ReadVariableOp"
      input: "a"
      attr {
        key: "dtype"
        value {
          type: DT_FLOAT
        }
      }
      experimental_debug_info {
        original_node_names: "Mul/ReadVariableOp"
      }
    }
    node_def {
      name: "Mul"
      op: "Mul"
      input: "Mul/ReadVariableOp:value:0"
      input: "StatefulPartitionedCall:output:0"
      attr {
        key: "T"
        value {
          type: DT_FLOAT
        }
      }
      experimental_debug_info {
        original_node_names: "Mul"
      }
    }
    node_def {
      name: "Identity"
      op: "Identity"
      input: "Mul:z:0"
      input: "^NoOp"
      attr {
        key: "T"
        value {
          type: DT_FLOAT
        }
      }
      experimental_debug_info {
        original_node_names: "Identity"
      }
    }
    node_def {
      name: "NoOp"
      op: "NoOp"
      input: "^Mul/ReadVariableOp"
      input: "^StatefulPartitionedCall"
      attr {
        key: "_acd_function_control_output"
        value {
          b: true
        }
      }
      experimental_debug_info {
        original_node_names: "NoOp"
      }
    }
    ret {
      key: "identity"
      value: "Identity:output:0"
    }
    control_ret {
      key: "Mul/ReadVariableOp"
      value: "Mul/ReadVariableOp"
    }
    control_ret {
      key: "StatefulPartitionedCall"
      value: "StatefulPartitionedCall"
    }
    arg_attr {
      key: 0
      value {
        attr {
          key: "_user_specified_name"
          value {
            s: "a"
          }
        }
      }
    }
    arg_attr {
      key: 1
      value {
        attr {
          key: "_output_shapes"
          value {
            list {
              shape {
              }
            }
          }
        }
        attr {
          key: "_user_specified_name"
          value {
            s: "b"
          }
        }
      }
    }
  }
}
